package Interface;

import MachineLogic.*;
import PaymentModule.*;
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.util.Date;
import java.util.ArrayList;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.Scanner;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class tvmGUI extends javax.swing.JFrame {

    /**
     * Creates new form tvmGUI
     */
    public tvmGUI() {
        this.ListContent = new ArrayList<>();
        Date time = new Date();
        initComponents();
        // Initialize labels to be invisible
        LabSetup1Error.setVisible(false);
        LabSetup2Error.setVisible(false);
        LabSetup2ErrorList.setVisible(false);
        // Initialize error labels to be empty/single space
        LabWelcomeDAError.setText(languageBundle.getString(" "));
        LabWelcomeDATypeError.setText(languageBundle.getString(" "));
        LabWelcomeDAZonesError.setText(languageBundle.getString(" "));
        LabWelcomeDAAmountError.setText(languageBundle.getString(" "));
        // Call thread-method to make time labels
        startTimeThread();  
        // Call thread-method to watch terminal for integer inputs
        // Used for admin login
        adminLogIn();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        Setup1 = new javax.swing.JPanel();
        LabSetup1Title = new javax.swing.JLabel();
        LabSetup1HardwareID = new javax.swing.JLabel();
        InSetup1HardwareID = new javax.swing.JTextField();
        LabSetup1StartZone = new javax.swing.JLabel();
        InSetup1StartZone = new javax.swing.JTextField();
        ButSetup1Next = new javax.swing.JButton();
        LabSetup1Error = new javax.swing.JLabel();
        Setup2 = new javax.swing.JPanel();
        LabSetup2Info = new javax.swing.JLabel();
        LabSetup2Time = new javax.swing.JLabel();
        LabSetup2Title = new javax.swing.JLabel();
        LabSetup2TypeDA = new javax.swing.JLabel();
        InSetup2TypeDA = new javax.swing.JTextField();
        LabSetup2TypeENG = new javax.swing.JLabel();
        InSetup2TypeENG = new javax.swing.JTextField();
        LabSetup2PricePZ = new javax.swing.JLabel();
        InSetup2PricePZ = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        ListSetup2TicketList = new javax.swing.JList();
        LabSetup2TicketList = new javax.swing.JLabel();
        ButSetup2AddM = new javax.swing.JButton();
        ButSetup2Save = new javax.swing.JButton();
        ButSetup2Back = new javax.swing.JButton();
        LabSetup2Error = new javax.swing.JLabel();
        LabSetup2ErrorList = new javax.swing.JLabel();
        WelcomeDA = new javax.swing.JPanel();
        LabWelcomeDATitle = new javax.swing.JLabel();
        LabWelcomeDAInstruct = new javax.swing.JLabel();
        LabWelcomeDAInfo = new javax.swing.JLabel();
        LabWelcomeDATime = new javax.swing.JLabel();
        CBWelcomeDAType = new javax.swing.JComboBox();
        LabWelcomeDAPricePZ = new javax.swing.JLabel();
        CBWelcomeDAZone = new javax.swing.JComboBox();
        LabWelcomeDATypeError = new javax.swing.JLabel();
        LabWelcomeDAZonesError = new javax.swing.JLabel();
        LabWelcomeDAError = new javax.swing.JLabel();
        CBWelcomeDAAmount = new javax.swing.JComboBox();
        LabWelcomeDATempPrice = new javax.swing.JLabel();
        LabWelcomeDATotalPrice = new javax.swing.JLabel();
        LabWelcomeDAAmountError = new javax.swing.JLabel();
        ButWelcomeDANext = new javax.swing.JButton();
        ButWelcomeDAHelp = new javax.swing.JButton();
        ButWelcomeDALang = new javax.swing.JButton();

        CartDA = new javax.swing.JPanel();
        LabCartDAInfo = new javax.swing.JLabel();
        LabCartDATime = new javax.swing.JLabel();
        LabCartDATitle = new javax.swing.JLabel();
        LabCartDAInstruct = new javax.swing.JLabel();
        LabCartDATotal = new javax.swing.JLabel();
        ButCartDAHelp = new javax.swing.JButton();
        ButCartDAClear = new javax.swing.JButton();
        ButCartDARemove = new javax.swing.JButton();
        ButCartDAAddM = new javax.swing.JButton();
        ButCartDAPay = new javax.swing.JButton();
        jScrollPane2 = new javax.swing.JScrollPane();
        ListCartDATicketList = new javax.swing.JList();
        LabCartDASTK = new javax.swing.JLabel();
        LabCartDKType = new javax.swing.JLabel();
        LabCartDKAmountZones = new javax.swing.JLabel();
        LabCartDKPricePerTicket = new javax.swing.JLabel();
        LabCartDKSubTotal = new javax.swing.JLabel();
        PayDA = new javax.swing.JPanel();
        LabPayDAInfo = new javax.swing.JLabel();
        LabPayDATime = new javax.swing.JLabel();
        LabPayDATitle = new javax.swing.JLabel();
        LabPayDAInstruct = new javax.swing.JLabel();
        ButPayDACash = new javax.swing.JButton();
        ButPayDACard = new javax.swing.JButton();
        ButPayDASMS = new javax.swing.JButton();
        ButPayDAClear = new javax.swing.JButton();
        ButPayDABack = new javax.swing.JButton();
        ButPayDAHelp = new javax.swing.JButton();
        CashDA = new javax.swing.JPanel();
        LabCashDATime = new javax.swing.JLabel();
        LabCashDAInfo = new javax.swing.JLabel();
        LabCashDATitle = new javax.swing.JLabel();
        LabCashDAInstruct = new javax.swing.JLabel();
        InCashDAInserted = new javax.swing.JTextField();
        LabCashDAInserted = new javax.swing.JLabel();
        LabCashDAMissing = new javax.swing.JLabel();
        ButCashDAPay = new javax.swing.JButton();
        ButCashDAHelp = new javax.swing.JButton();
        ButCashDAClear = new javax.swing.JButton();
        ButCashDABack = new javax.swing.JButton();
        CardDA = new javax.swing.JPanel();
        LabCardDAInfo = new javax.swing.JLabel();
        LabCardDATime = new javax.swing.JLabel();
        LabCardDATitle = new javax.swing.JLabel();
        LabCardDAInstruct = new javax.swing.JLabel();
        PwdCardDACode = new javax.swing.JPasswordField();
        LabCardDATotal = new javax.swing.JLabel();
        ButCardDAConfirm = new javax.swing.JButton();
        ButCardDAHelp = new javax.swing.JButton();
        ButCardDAClear = new javax.swing.JButton();
        ButCardDABack = new javax.swing.JButton();
        SMSDA = new javax.swing.JPanel();
        LabSMSDAInfo = new javax.swing.JLabel();
        LabSMSDATime = new javax.swing.JLabel();
        LabSMSDATitle = new javax.swing.JLabel();
        LabSMSDAInstruct = new javax.swing.JLabel();
        LabSMSDATotal = new javax.swing.JLabel();
        ButSMSDAConfirm = new javax.swing.JButton();
        InSMSDAPhoneNMB = new javax.swing.JTextField();
        ButSMSDAHelp = new javax.swing.JButton();
        ButSMSDABack = new javax.swing.JButton();
        ButSMSDAClear = new javax.swing.JButton();
        OutOfOrder = new javax.swing.JPanel();
        LabOutOfOrderTitle = new javax.swing.JLabel();
        LabOutOfOrderInfo = new javax.swing.JLabel();
        LabOutOfOrderTime = new javax.swing.JLabel();
        Admin = new javax.swing.JPanel();
        InAdminSelection = new javax.swing.JTextField();
        LabAdminTitle = new javax.swing.JLabel();
        LabAdminInfo = new javax.swing.JLabel();
        LabAdminTime = new javax.swing.JLabel();
        jScrollPane3 = new javax.swing.JScrollPane();
        TextAdminMenu = new javax.swing.JTextArea();
        LabAdminSelection = new javax.swing.JLabel();
        jScrollPane4 = new javax.swing.JScrollPane();
        TextAdminLog = new javax.swing.JTextArea();
        ButAdminOk = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(820, 630));
        getContentPane().setLayout(new java.awt.CardLayout());

        LabSetup1Title.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabSetup1Title.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSetup1Title.setText(languageBundle.getString("OPSÆT AUTOMAT"));
        LabSetup1Title.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

        LabSetup1HardwareID.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSetup1HardwareID.setText(languageBundle.getString("INDTAST MASKINENS UNIKKE ID KODE"));

        LabSetup1StartZone.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSetup1StartZone.setText(languageBundle.getString("INDTAST START ZONE."));

        ButSetup1Next.setText(languageBundle.getString("NÆSTE"));
        ButSetup1Next.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButSetup1NextActionPerformed(evt);
            }
        });

        LabSetup1Error.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
        LabSetup1Error.setForeground(new java.awt.Color(255, 0, 0));
        LabSetup1Error.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSetup1Error.setText(languageBundle.getString("FEJL - UGYLDIG INDTASTNING"));

        javax.swing.GroupLayout Setup1Layout = new javax.swing.GroupLayout(Setup1);
        Setup1.setLayout(Setup1Layout);
        Setup1Layout.setHorizontalGroup(
            Setup1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Setup1Layout.createSequentialGroup()
                .addGroup(Setup1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Setup1Layout.createSequentialGroup()
                        .addGap(270, 270, 270)
                        .addComponent(LabSetup1Title, javax.swing.GroupLayout.PREFERRED_SIZE, 241, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(Setup1Layout.createSequentialGroup()
                        .addGap(307, 307, 307)
                        .addComponent(InSetup1HardwareID, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(Setup1Layout.createSequentialGroup()
                        .addGap(310, 310, 310)
                        .addComponent(LabSetup1StartZone, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(Setup1Layout.createSequentialGroup()
                        .addGap(307, 307, 307)
                        .addComponent(InSetup1StartZone, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(Setup1Layout.createSequentialGroup()
                        .addGap(307, 307, 307)
                        .addComponent(LabSetup1Error, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(289, 289, 289))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Setup1Layout.createSequentialGroup()
                .addComponent(LabSetup1HardwareID, javax.swing.GroupLayout.PREFERRED_SIZE, 287, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(255, 255, 255))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Setup1Layout.createSequentialGroup()
                .addComponent(ButSetup1Next, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(25, 25, 25))
        );
        Setup1Layout.setVerticalGroup(
            Setup1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Setup1Layout.createSequentialGroup()
                .addGap(50, 50, 50)
                .addComponent(LabSetup1Title)
                .addGap(50, 50, 50)
                .addComponent(LabSetup1HardwareID)
                .addGap(6, 6, 6)
                .addComponent(InSetup1HardwareID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(21, 21, 21)
                .addComponent(LabSetup1StartZone)
                .addGap(3, 3, 3)
                .addComponent(InSetup1StartZone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(11, 11, 11)
                .addComponent(LabSetup1Error)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 294, Short.MAX_VALUE)
                .addComponent(ButSetup1Next, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(25, 25, 25))
        );

        getContentPane().add(Setup1, languageBundle.getString("CARD2"));

        Setup2.setMinimumSize(new java.awt.Dimension(800, 600));

        LabSetup2Time.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabSetup2Time.setText(languageBundle.getString(" "));

        LabSetup2Title.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabSetup2Title.setText(languageBundle.getString("OPRET BILLETTER"));

        LabSetup2TypeDA.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSetup2TypeDA.setText(languageBundle.getString("INDTAST NAVNET PÅ BILLETTYPEN PÅ DANSK."));

        LabSetup2TypeENG.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSetup2TypeENG.setText(languageBundle.getString("INDTAST NAVNET PÅ BILLETTYPEN PÅ ENGELSK."));

        LabSetup2PricePZ.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSetup2PricePZ.setText(languageBundle.getString("INDTAST PRIS PR. ZONE."));

        ListSetup2TicketList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        ListSetup2TicketList.setFocusable(false);
        ListSetup2TicketList.setVisibleRowCount(10);
        jScrollPane1.setViewportView(ListSetup2TicketList);

        LabSetup2TicketList.setText(languageBundle.getString("OPRETTEDE BILLETTER."));

        ButSetup2AddM.setText(languageBundle.getString("TILFØJ FLERE"));
        ButSetup2AddM.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButSetup2AddMActionPerformed(evt);
            }
        });

        ButSetup2Save.setText(languageBundle.getString("GEM OG AFSLUT"));
        ButSetup2Save.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButSetup2SaveActionPerformed(evt);
            }
        });

        ButSetup2Back.setText(languageBundle.getString("TILBAGE"));
        ButSetup2Back.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButSetup2BackActionPerformed(evt);
            }
        });

        LabSetup2Error.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
        LabSetup2Error.setForeground(new java.awt.Color(255, 0, 0));
        LabSetup2Error.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSetup2Error.setText(languageBundle.getString("FEJL - UGYLDIG INDTASTNING"));

        LabSetup2ErrorList.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
        LabSetup2ErrorList.setForeground(new java.awt.Color(255, 0, 0));
        LabSetup2ErrorList.setText(languageBundle.getString("FEJL - INGEN BILLETTER OPRETTET"));

        javax.swing.GroupLayout Setup2Layout = new javax.swing.GroupLayout(Setup2);
        Setup2.setLayout(Setup2Layout);
        Setup2Layout.setHorizontalGroup(
            Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Setup2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Setup2Layout.createSequentialGroup()
                        .addComponent(LabSetup2Info)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(LabSetup2Time, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Setup2Layout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(LabSetup2Title)
                        .addGap(315, 315, 315))))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Setup2Layout.createSequentialGroup()
                .addGap(47, 47, 47)
                .addGroup(Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 302, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(LabSetup2TicketList, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 128, Short.MAX_VALUE)
                .addGroup(Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Setup2Layout.createSequentialGroup()
                        .addGroup(Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(LabSetup2TypeDA, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(InSetup2TypeDA)
                            .addComponent(LabSetup2TypeENG, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(InSetup2TypeENG)
                            .addComponent(InSetup2PricePZ)
                            .addComponent(LabSetup2PricePZ, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGap(125, 125, 125))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Setup2Layout.createSequentialGroup()
                        .addComponent(LabSetup2Error)
                        .addGap(166, 166, 166))))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Setup2Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(ButSetup2Back, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(ButSetup2Save)
                .addGap(18, 18, 18)
                .addComponent(ButSetup2AddM, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(25, 25, 25))
            .addGroup(Setup2Layout.createSequentialGroup()
                .addGap(128, 128, 128)
                .addComponent(LabSetup2ErrorList)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        Setup2Layout.setVerticalGroup(
            Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Setup2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabSetup2Info)
                    .addComponent(LabSetup2Time))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(LabSetup2Title)
                .addGap(55, 55, 55)
                .addGroup(Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabSetup2TypeDA)
                    .addComponent(LabSetup2TicketList))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(Setup2Layout.createSequentialGroup()
                        .addComponent(InSetup2TypeDA, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(LabSetup2TypeENG)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(InSetup2TypeENG, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(LabSetup2PricePZ)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(InSetup2PricePZ, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(LabSetup2Error))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(LabSetup2ErrorList)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 217, Short.MAX_VALUE)
                .addGroup(Setup2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(ButSetup2AddM, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButSetup2Save, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButSetup2Back, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(24, 24, 24))
        );

        getContentPane().add(Setup2, languageBundle.getString("CARD3"));

        LabWelcomeDATitle.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabWelcomeDATitle.setText(languageBundle.getString("VELKOMMEN TIL BLUEJ TRAFIKSELSKAB"));

        LabWelcomeDAInstruct.setText(languageBundle.getString("VÆLG BILLETTYPE, ANTAL ZONER OG ANTAL BILLETTER FRA DROPDOWN MENUERNE HERUNDER OG TRYK NÆSTE."));

        LabWelcomeDAInfo.setText(languageBundle.getString(" "));

        LabWelcomeDATime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabWelcomeDATime.setText(languageBundle.getString(" "));

        CBWelcomeDAType.setMaximumRowCount(10);
        CBWelcomeDAType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { languageBundle.getString("VÆLG BILLETTYPE...") }));
        CBWelcomeDAType.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                CBWelcomeDATypeActionPerformed(evt);
            }
        });

        LabWelcomeDAPricePZ.setText(languageBundle.getString(" "));

        CBWelcomeDAZone.setMaximumRowCount(10);
        CBWelcomeDAZone.setModel(new javax.swing.DefaultComboBoxModel(new String[] { languageBundle.getString("VÆLG ANTAL ZONER..."), languageBundle.getString("2-ZONER"), languageBundle.getString("3-ZONER"), languageBundle.getString("4-ZONER"), languageBundle.getString("5-ZONER"), languageBundle.getString("6-ZONER"), languageBundle.getString("7-ZONER"), languageBundle.getString("ALLE-ZONER") }));
        CBWelcomeDAZone.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                CBWelcomeDAZoneActionPerformed(evt);
                
             
            }
        });

        LabWelcomeDATypeError.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
        LabWelcomeDATypeError.setForeground(new java.awt.Color(255, 0, 0));
        LabWelcomeDATypeError.setText(languageBundle.getString(" "));

        LabWelcomeDAZonesError.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
        LabWelcomeDAZonesError.setForeground(new java.awt.Color(255, 0, 0));
        LabWelcomeDAZonesError.setText(languageBundle.getString(" "));

        LabWelcomeDAError.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
        LabWelcomeDAError.setForeground(new java.awt.Color(255, 0, 0));
        LabWelcomeDAError.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabWelcomeDAError.setText(languageBundle.getString(" "));

        CBWelcomeDAAmount.setModel(new javax.swing.DefaultComboBoxModel(new String[] { languageBundle.getString("VÆLG ANTAL BILLETTER..."), languageBundle.getString("1 STK"), languageBundle.getString("2 STK"), languageBundle.getString("3 STK"), languageBundle.getString("4 STK"), languageBundle.getString("5 STK") }));
        CBWelcomeDAAmount.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                CBWelcomeDAAmountActionPerformed(evt);
            }
        });

        LabWelcomeDATempPrice.setText(languageBundle.getString("PRIS PR. BILLET: "));

        LabWelcomeDATotalPrice.setText(languageBundle.getString("TOTAL PRIS:"));

        LabWelcomeDAAmountError.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
        LabWelcomeDAAmountError.setForeground(new java.awt.Color(255, 0, 0));
        LabWelcomeDAAmountError.setText(languageBundle.getString(" "));

        ButWelcomeDANext.setText(languageBundle.getString("NÆSTE"));
        ButWelcomeDANext.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButWelcomeDANextActionPerformed(evt);
            }
        });

        ButWelcomeDAHelp.setText(languageBundle.getString("?"));
        ButWelcomeDAHelp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButWelcomeDAHelpActionPerformed(evt);
            }
        });
        
        ButWelcomeDALang.setText(languageBundle.getString("[LANGUAGE]"));
        ButWelcomeDALang.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
        ButWelcomeDALangActionPerformed(evt);
        }
        });

        javax.swing.GroupLayout WelcomeDALayout = new javax.swing.GroupLayout(WelcomeDA);
        WelcomeDA.setLayout(WelcomeDALayout);
        WelcomeDALayout.setHorizontalGroup(
            WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(WelcomeDALayout.createSequentialGroup()
                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(WelcomeDALayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(LabWelcomeDAInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 193, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(LabWelcomeDATime, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(WelcomeDALayout.createSequentialGroup()
                        .addGap(63, 63, 63)
                        .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, WelcomeDALayout.createSequentialGroup()
                                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(WelcomeDALayout.createSequentialGroup()
                                        .addComponent(LabWelcomeDATypeError, javax.swing.GroupLayout.DEFAULT_SIZE, 96, Short.MAX_VALUE)
                                        .addGap(178, 178, 178))
                                    .addGroup(WelcomeDALayout.createSequentialGroup()
                                        .addComponent(CBWelcomeDAType, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE)
                                        .addComponent(LabWelcomeDAPricePZ, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(CBWelcomeDAZone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(LabWelcomeDAZonesError, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 150, Short.MAX_VALUE)
                                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(CBWelcomeDAAmount, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(LabWelcomeDAAmountError, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addGap(58, 58, 58))
                            .addGroup(WelcomeDALayout.createSequentialGroup()
                                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(LabWelcomeDAInstruct)
                                    .addComponent(LabWelcomeDATitle)
                                    .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                        .addComponent(LabWelcomeDATotalPrice, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(LabWelcomeDATempPrice, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)))
                                .addGap(0, 0, Short.MAX_VALUE)))))
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, WelcomeDALayout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addComponent(LabWelcomeDAError, javax.swing.GroupLayout.PREFERRED_SIZE, 242, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(270, 270, 270))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, WelcomeDALayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(ButWelcomeDALang)
                .addGap(28, 28, 28)
                .addComponent(ButWelcomeDAHelp)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(ButWelcomeDANext, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        WelcomeDALayout.setVerticalGroup(
            WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(WelcomeDALayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabWelcomeDAInfo)
                    .addComponent(LabWelcomeDATime))
                .addGap(44, 44, 44)
                .addComponent(LabWelcomeDATitle)
                .addGap(18, 18, 18)
                .addComponent(LabWelcomeDAInstruct)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE)
                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabWelcomeDATypeError)
                    .addComponent(LabWelcomeDAZonesError)
                    .addComponent(LabWelcomeDAAmountError))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(CBWelcomeDAType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(LabWelcomeDAPricePZ)
                    .addComponent(CBWelcomeDAZone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(CBWelcomeDAAmount, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 151, Short.MAX_VALUE)
                .addComponent(LabWelcomeDAError)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE)
                .addComponent(LabWelcomeDATempPrice)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(LabWelcomeDATotalPrice)
                .addGap(103, 103, 103)
                .addGroup(WelcomeDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(ButWelcomeDANext, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButWelcomeDAHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButWelcomeDALang, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18))
        );

        getContentPane().add(WelcomeDA, languageBundle.getString("CARD4"));

        CartDA.setPreferredSize(new java.awt.Dimension(800, 600));

        LabCartDAInfo.setText(languageBundle.getString(" "));

        LabCartDATime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabCartDATime.setText(languageBundle.getString(" "));

        LabCartDATitle.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabCartDATitle.setText(languageBundle.getString("INDKØBSKURV"));

        LabCartDAInstruct.setText(languageBundle.getString("HERUNDER KAN DU SE DINE VALGTE BILLETTER. DU KAN VÆLGE AT SLETTE BILLETTER, TILFØJE FLERE, RYDDE ALT, ELLER GÅ TIL BETALING. "));

        LabCartDATotal.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        LabCartDATotal.setText(languageBundle.getString("TOTAL PRIS: "));

        ButCartDAHelp.setText(languageBundle.getString("?"));
        ButCartDAHelp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCartDAHelpActionPerformed(evt);
            }
        });

        ButCartDAClear.setText(languageBundle.getString("RYD ALT"));
        ButCartDAClear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCartDAClearActionPerformed(evt);
            }
        });

        ButCartDARemove.setText(languageBundle.getString("FJERN"));
        ButCartDARemove.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCartDARemoveActionPerformed(evt);
            }
        });

        ButCartDAAddM.setText(languageBundle.getString("TILFØJ FLERE"));
        ButCartDAAddM.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCartDAAddMActionPerformed(evt);
            }
        });

        ButCartDAPay.setText(languageBundle.getString("GÅ TIL BETALING"));
        ButCartDAPay.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCartDAPayActionPerformed(evt);
            }
        });

        ListCartDATicketList.setFont(new java.awt.Font("Consolas", 0, 15)); // NOI18N
        jScrollPane2.setViewportView(ListCartDATicketList);

        LabCartDASTK.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCartDASTK.setText(languageBundle.getString("STK."));

        LabCartDKType.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCartDKType.setText(languageBundle.getString("BILLET TYPE"));

        LabCartDKAmountZones.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCartDKAmountZones.setText(languageBundle.getString("ANTAL ZONER"));

        LabCartDKPricePerTicket.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCartDKPricePerTicket.setText(languageBundle.getString("PRIS PR. STK"));

        LabCartDKSubTotal.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCartDKSubTotal.setText(languageBundle.getString("SUB-TOTAL"));

        javax.swing.GroupLayout CartDALayout = new javax.swing.GroupLayout(CartDA);
        CartDA.setLayout(CartDALayout);
        CartDALayout.setHorizontalGroup(
            CartDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CartDALayout.createSequentialGroup()
                .addGroup(CartDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(CartDALayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(LabCartDAInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 288, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(LabCartDATime, javax.swing.GroupLayout.PREFERRED_SIZE, 309, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(CartDALayout.createSequentialGroup()
                        .addGap(44, 44, 44)
                        .addComponent(LabCartDATitle, javax.swing.GroupLayout.PREFERRED_SIZE, 356, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(270, 390, Short.MAX_VALUE)))
                .addContainerGap())
            .addGroup(CartDALayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(ButCartDAHelp)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(ButCartDAClear, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(84, 84, 84)
                .addComponent(ButCartDARemove, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(82, 82, 82)
                .addComponent(ButCartDAAddM, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(71, 71, 71)
                .addComponent(ButCartDAPay, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(23, 23, 23))
            .addGroup(CartDALayout.createSequentialGroup()
                .addGroup(CartDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(CartDALayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(LabCartDAInstruct, javax.swing.GroupLayout.PREFERRED_SIZE, 642, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, CartDALayout.createSequentialGroup()
                        .addGap(115, 115, 115)
                        .addGroup(CartDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 571, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(CartDALayout.createSequentialGroup()
                                .addComponent(LabCartDASTK, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(LabCartDKType, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(47, 47, 47)
                                .addComponent(LabCartDKAmountZones, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(33, 33, 33)
                                .addComponent(LabCartDKPricePerTicket, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(26, 26, 26)
                                .addComponent(LabCartDKSubTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap(114, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CartDALayout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(LabCartDATotal, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(129, 129, 129))
        );
        CartDALayout.setVerticalGroup(
            CartDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CartDALayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(CartDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabCartDAInfo)
                    .addComponent(LabCartDATime))
                .addGap(44, 44, 44)
                .addComponent(LabCartDATitle)
                .addGap(18, 18, 18)
                .addComponent(LabCartDAInstruct)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 40, Short.MAX_VALUE)
                .addGroup(CartDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabCartDASTK)
                    .addComponent(LabCartDKType)
                    .addComponent(LabCartDKAmountZones)
                    .addComponent(LabCartDKPricePerTicket)
                    .addComponent(LabCartDKSubTotal))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 291, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(LabCartDATotal)
                .addGap(35, 35, 35)
                .addGroup(CartDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(ButCartDAPay, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButCartDAAddM, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButCartDARemove, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButCartDAClear, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButCartDAHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(20, 20, 20))
        );

        getContentPane().add(CartDA, languageBundle.getString("CARD5"));

        LabPayDAInfo.setText(languageBundle.getString(" "));

        LabPayDATime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabPayDATime.setText(languageBundle.getString("  "));

        LabPayDATitle.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabPayDATitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabPayDATitle.setText(languageBundle.getString("BETALING"));

        LabPayDAInstruct.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabPayDAInstruct.setText(languageBundle.getString("VÆLG ØNSKET BETALINGSFORM."));

        ButPayDACash.setText(languageBundle.getString("KONTANT"));
        ButPayDACash.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButPayDACashActionPerformed(evt);
            }
        });

        ButPayDACard.setText(languageBundle.getString("BETALINGSKORT"));
        ButPayDACard.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButPayDACardActionPerformed(evt);
            }
        });

        ButPayDASMS.setText(languageBundle.getString("SMS"));
        ButPayDASMS.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButPayDASMSActionPerformed(evt);
            }
        });

        ButPayDAClear.setText(languageBundle.getString("AFBRYD"));
        ButPayDAClear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButPayDAClearActionPerformed(evt);
            }
        });

        ButPayDABack.setText(languageBundle.getString("TILBAGE"));
        ButPayDABack.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButPayDABackActionPerformed(evt);
            }
        });

        ButPayDAHelp.setText(languageBundle.getString("?"));
        ButPayDAHelp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButPayDAHelpActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout PayDALayout = new javax.swing.GroupLayout(PayDA);
        PayDA.setLayout(PayDALayout);
        PayDALayout.setHorizontalGroup(
            PayDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PayDALayout.createSequentialGroup()
                .addGap(327, 327, 327)
                .addGroup(PayDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(ButPayDASMS, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButPayDACard, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButPayDACash, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PayDALayout.createSequentialGroup()
                .addGroup(PayDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, PayDALayout.createSequentialGroup()
                        .addGroup(PayDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(PayDALayout.createSequentialGroup()
                                .addGap(300, 300, 300)
                                .addComponent(LabPayDATitle, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(PayDALayout.createSequentialGroup()
                                .addGap(246, 246, 246)
                                .addComponent(LabPayDAInstruct, javax.swing.GroupLayout.PREFERRED_SIZE, 307, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addGroup(PayDALayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(PayDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(PayDALayout.createSequentialGroup()
                                .addComponent(ButPayDAHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(ButPayDABack, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(98, 98, 98)
                                .addComponent(ButPayDAClear, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(PayDALayout.createSequentialGroup()
                                .addComponent(LabPayDAInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 297, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 170, Short.MAX_VALUE)
                                .addComponent(LabPayDATime, javax.swing.GroupLayout.PREFERRED_SIZE, 313, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap())
        );
        PayDALayout.setVerticalGroup(
            PayDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PayDALayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PayDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabPayDAInfo)
                    .addComponent(LabPayDATime))
                .addGap(44, 44, 44)
                .addComponent(LabPayDATitle)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(LabPayDAInstruct)
                .addGap(39, 39, 39)
                .addComponent(ButPayDACash, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(41, 41, 41)
                .addComponent(ButPayDACard, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(43, 43, 43)
                .addComponent(ButPayDASMS, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 108, Short.MAX_VALUE)
                .addGroup(PayDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(ButPayDAHelp, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ButPayDABack, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButPayDAClear, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );

        getContentPane().add(PayDA, languageBundle.getString("CARD6"));

        LabCashDATime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabCashDATime.setText(languageBundle.getString(" "));

        LabCashDAInfo.setText(languageBundle.getString(" "));

        LabCashDATitle.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabCashDATitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCashDATitle.setText(languageBundle.getString("KONTANT BETALING"));

        LabCashDAInstruct.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCashDAInstruct.setText(languageBundle.getString("INDSÆT BELØBET TIL BETALING I FELTET OG TRYK INDSÆT PENGE. FOR PENGE TILBAGE, TRYK AFBRYD."));

        LabCashDAInserted.setText(languageBundle.getString("PENGE INDSAT: "));

        LabCashDAMissing.setText(languageBundle.getString("MANGLER: "));

        ButCashDAPay.setText(languageBundle.getString("INDSÆT PENGE"));
        ButCashDAPay.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCashDAPayActionPerformed(evt);
            }
        });

        ButCashDAHelp.setText(languageBundle.getString("?"));
        ButCashDAHelp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCashDAHelpActionPerformed(evt);
            }
        });

        ButCashDAClear.setText(languageBundle.getString("AFBRYD"));
        ButCashDAClear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCashDAClearActionPerformed(evt);
            }
        });

        ButCashDABack.setText(languageBundle.getString("TILBAGE"));
        ButCashDABack.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCashDABackActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout CashDALayout = new javax.swing.GroupLayout(CashDA);
        CashDA.setLayout(CashDALayout);
        CashDALayout.setHorizontalGroup(
            CashDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CashDALayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(CashDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CashDALayout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addGroup(CashDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CashDALayout.createSequentialGroup()
                                .addComponent(LabCashDAInserted, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(LabCashDAMissing, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(244, 244, 244))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CashDALayout.createSequentialGroup()
                                .addComponent(LabCashDATitle, javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(294, 294, 294))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CashDALayout.createSequentialGroup()
                                .addComponent(InCashDAInserted, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(347, 347, 347))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CashDALayout.createSequentialGroup()
                                .addComponent(ButCashDAPay, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(344, 344, 344))))
                    .addGroup(CashDALayout.createSequentialGroup()
                        .addGroup(CashDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(CashDALayout.createSequentialGroup()
                                .addComponent(ButCashDAHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(ButCashDABack, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(102, 102, 102)
                                .addComponent(ButCashDAClear, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(CashDALayout.createSequentialGroup()
                                .addComponent(LabCashDAInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 212, Short.MAX_VALUE)
                                .addComponent(LabCashDATime, javax.swing.GroupLayout.PREFERRED_SIZE, 268, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(LabCashDAInstruct, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addContainerGap())))
        );
        CashDALayout.setVerticalGroup(
            CashDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CashDALayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(CashDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabCashDATime)
                    .addComponent(LabCashDAInfo))
                .addGap(44, 44, 44)
                .addComponent(LabCashDATitle)
                .addGap(18, 18, 18)
                .addComponent(LabCashDAInstruct)
                .addGap(18, 18, 18)
                .addComponent(InCashDAInserted, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(CashDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(LabCashDAMissing)
                    .addComponent(LabCashDAInserted))
                .addGap(49, 49, 49)
                .addComponent(ButCashDAPay, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 250, Short.MAX_VALUE)
                .addGroup(CashDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(ButCashDAClear, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButCashDAHelp, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ButCashDABack, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );

        getContentPane().add(CashDA, languageBundle.getString("CARD7"));

        LabCardDAInfo.setText(languageBundle.getString(" "));

        LabCardDATime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabCardDATime.setText(languageBundle.getString("  "));

        LabCardDATitle.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabCardDATitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCardDATitle.setText(languageBundle.getString("BETALING MED BETALINGSKORT"));

        LabCardDAInstruct.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabCardDAInstruct.setText(languageBundle.getString("INDSÆT BETALINGSKORT OG INDTAST DIN PIN-KODE I FELTET NEDENUNDER. TRYK HEREFTER PÅ GODKEND."));

        PwdCardDACode.setHorizontalAlignment(javax.swing.JTextField.CENTER);

        LabCardDATotal.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        LabCardDATotal.setText(languageBundle.getString("TOTAL PRIS: "));

        ButCardDAConfirm.setText(languageBundle.getString("GODKEND"));
        ButCardDAConfirm.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCardDAConfirmActionPerformed(evt);
            }
        });

        ButCardDAHelp.setText(languageBundle.getString("?"));
        ButCardDAHelp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCardDAHelpActionPerformed(evt);
            }
        });

        ButCardDAClear.setText(languageBundle.getString("AFBRYD"));
        ButCardDAClear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCardDAClearActionPerformed(evt);
            }
        });

        ButCardDABack.setText(languageBundle.getString("TILBAGE"));
        ButCardDABack.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButCardDABackActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout CardDALayout = new javax.swing.GroupLayout(CardDA);
        CardDA.setLayout(CardDALayout);
        CardDALayout.setHorizontalGroup(
            CardDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CardDALayout.createSequentialGroup()
                .addGroup(CardDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(CardDALayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(CardDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(LabCardDATitle, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(CardDALayout.createSequentialGroup()
                                .addComponent(LabCardDAInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 316, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 114, Short.MAX_VALUE)
                                .addComponent(LabCardDATime, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(LabCardDAInstruct, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(CardDALayout.createSequentialGroup()
                                .addComponent(ButCardDAHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(ButCardDABack, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(105, 105, 105)
                                .addComponent(ButCardDAClear, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addGroup(CardDALayout.createSequentialGroup()
                        .addGroup(CardDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(CardDALayout.createSequentialGroup()
                                .addGap(330, 330, 330)
                                .addComponent(PwdCardDACode, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(CardDALayout.createSequentialGroup()
                                .addGap(352, 352, 352)
                                .addComponent(ButCardDAConfirm, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(CardDALayout.createSequentialGroup()
                                .addGap(330, 330, 330)
                                .addComponent(LabCardDATotal, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        CardDALayout.setVerticalGroup(
            CardDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CardDALayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(CardDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabCardDAInfo)
                    .addComponent(LabCardDATime))
                .addGap(44, 44, 44)
                .addComponent(LabCardDATitle)
                .addGap(18, 18, 18)
                .addComponent(LabCardDAInstruct)
                .addGap(18, 18, 18)
                .addComponent(PwdCardDACode, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(LabCardDATotal)
                .addGap(18, 18, 18)
                .addComponent(ButCardDAConfirm, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 272, Short.MAX_VALUE)
                .addGroup(CardDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(ButCardDAClear, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButCardDAHelp, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ButCardDABack, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );

        getContentPane().add(CardDA, languageBundle.getString("CARD9"));

        LabSMSDAInfo.setText(languageBundle.getString(" "));

        LabSMSDATime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabSMSDATime.setText(languageBundle.getString(" "));

        LabSMSDATitle.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabSMSDATitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSMSDATitle.setText(languageBundle.getString("BETALING MED SMS"));

        LabSMSDAInstruct.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabSMSDAInstruct.setText(languageBundle.getString("INDTAST TELEFONNUMMERET SOM REGNINGEN SKAL SENDES TIL OG TRYK HEREFTER PÅ GODKEND. "));

        LabSMSDATotal.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        LabSMSDATotal.setText(languageBundle.getString("TOTAL PRIS: "));

        ButSMSDAConfirm.setText(languageBundle.getString("GODKEND"));
        ButSMSDAConfirm.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButSMSDAConfirmActionPerformed(evt);
            }
        });

        InSMSDAPhoneNMB.setHorizontalAlignment(javax.swing.JTextField.CENTER);

        ButSMSDAHelp.setText(languageBundle.getString("?"));
        ButSMSDAHelp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButSMSDAHelpActionPerformed(evt);
            }
        });

        ButSMSDABack.setText(languageBundle.getString("TILBAGE"));
        ButSMSDABack.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButSMSDABackActionPerformed(evt);
            }
        });

        ButSMSDAClear.setText(languageBundle.getString("AFBRYD"));
        ButSMSDAClear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButSMSDAClearActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout SMSDALayout = new javax.swing.GroupLayout(SMSDA);
        SMSDA.setLayout(SMSDALayout);
        SMSDALayout.setHorizontalGroup(
            SMSDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(SMSDALayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(SMSDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(SMSDALayout.createSequentialGroup()
                        .addComponent(LabSMSDAInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 348, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 65, Short.MAX_VALUE)
                        .addComponent(LabSMSDATime, javax.swing.GroupLayout.PREFERRED_SIZE, 367, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(LabSMSDATitle, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(LabSMSDAInstruct, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(SMSDALayout.createSequentialGroup()
                        .addGroup(SMSDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(SMSDALayout.createSequentialGroup()
                                .addGap(342, 342, 342)
                                .addComponent(ButSMSDAConfirm, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(SMSDALayout.createSequentialGroup()
                                .addGap(312, 312, 312)
                                .addGroup(SMSDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(LabSMSDATotal, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(InSMSDAPhoneNMB, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE))))
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, SMSDALayout.createSequentialGroup()
                        .addComponent(ButSMSDAHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(ButSMSDABack, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(103, 103, 103)
                        .addComponent(ButSMSDAClear, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        SMSDALayout.setVerticalGroup(
            SMSDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(SMSDALayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(SMSDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabSMSDAInfo)
                    .addComponent(LabSMSDATime))
                .addGap(44, 44, 44)
                .addComponent(LabSMSDATitle)
                .addGap(18, 18, 18)
                .addComponent(LabSMSDAInstruct)
                .addGap(18, 18, 18)
                .addComponent(InSMSDAPhoneNMB, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(LabSMSDATotal)
                .addGap(18, 18, 18)
                .addComponent(ButSMSDAConfirm, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 272, Short.MAX_VALUE)
                .addGroup(SMSDALayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(ButSMSDAHelp, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ButSMSDAClear, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ButSMSDABack, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );

        getContentPane().add(SMSDA, languageBundle.getString("CARD10"));

        LabOutOfOrderTitle.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabOutOfOrderTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabOutOfOrderTitle.setText(languageBundle.getString("UDE AF DRIFT / OUT OF ORDER"));

        LabOutOfOrderInfo.setText(languageBundle.getString(" "));

        LabOutOfOrderTime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabOutOfOrderTime.setText(languageBundle.getString("  "));

        javax.swing.GroupLayout OutOfOrderLayout = new javax.swing.GroupLayout(OutOfOrder);
        OutOfOrder.setLayout(OutOfOrderLayout);
        OutOfOrderLayout.setHorizontalGroup(
            OutOfOrderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(OutOfOrderLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(OutOfOrderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(LabOutOfOrderTitle, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(OutOfOrderLayout.createSequentialGroup()
                        .addComponent(LabOutOfOrderInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 361, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 80, Short.MAX_VALUE)
                        .addComponent(LabOutOfOrderTime, javax.swing.GroupLayout.PREFERRED_SIZE, 339, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        OutOfOrderLayout.setVerticalGroup(
            OutOfOrderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(OutOfOrderLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(OutOfOrderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabOutOfOrderInfo)
                    .addComponent(LabOutOfOrderTime))
                .addGap(231, 231, 231)
                .addComponent(LabOutOfOrderTitle)
                .addContainerGap(318, Short.MAX_VALUE))
        );

        getContentPane().add(OutOfOrder, languageBundle.getString("CARD8"));

        InAdminSelection.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                InAdminSelectionKeyPressed(evt);
            }
        });

        LabAdminTitle.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        LabAdminTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        LabAdminTitle.setText(languageBundle.getString("SERVICE"));
        LabAdminTitle.setToolTipText("");

        LabAdminInfo.setText(languageBundle.getString(" "));

        LabAdminTime.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        LabAdminTime.setText(languageBundle.getString(" "));

        TextAdminMenu.setBackground(new java.awt.Color(240, 240, 240));
        TextAdminMenu.setColumns(20);
        TextAdminMenu.setRows(5);
        TextAdminMenu.setFocusable(false);
        jScrollPane3.setViewportView(TextAdminMenu);

        LabAdminSelection.setText(languageBundle.getString("VALG :"));

        TextAdminLog.setColumns(20);
        TextAdminLog.setRows(5);
        jScrollPane4.setViewportView(TextAdminLog);

        ButAdminOk.setText(languageBundle.getString("OK"));
        ButAdminOk.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ButAdminOkActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout AdminLayout = new javax.swing.GroupLayout(Admin);
        Admin.setLayout(AdminLayout);
        AdminLayout.setHorizontalGroup(
            AdminLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(AdminLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(AdminLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(AdminLayout.createSequentialGroup()
                        .addGroup(AdminLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(LabAdminTitle, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(AdminLayout.createSequentialGroup()
                                .addComponent(LabAdminInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 354, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 105, Short.MAX_VALUE)
                                .addComponent(LabAdminTime, javax.swing.GroupLayout.PREFERRED_SIZE, 321, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, AdminLayout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addGroup(AdminLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, AdminLayout.createSequentialGroup()
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 359, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(218, 218, 218))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, AdminLayout.createSequentialGroup()
                                .addComponent(LabAdminSelection)
                                .addGap(18, 18, 18)
                                .addComponent(InAdminSelection, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(29, 29, 29)
                                .addComponent(ButAdminOk)
                                .addGap(293, 293, 293))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, AdminLayout.createSequentialGroup()
                                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 589, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(85, 85, 85))))))
        );
        AdminLayout.setVerticalGroup(
            AdminLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(AdminLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(AdminLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(LabAdminInfo)
                    .addComponent(LabAdminTime))
                .addGap(26, 26, 26)
                .addComponent(LabAdminTitle)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(AdminLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(InAdminSelection, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(LabAdminSelection)
                    .addComponent(ButAdminOk))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(56, Short.MAX_VALUE))
        );

        getContentPane().add(Admin, languageBundle.getString("CARD11"));

        pack();
    }// </editor-fold>//GEN-END:initComponents
    //Variables
    
    /**
     * A Thread that keeps checking the terminal for integer inputs. 
     * If the input equals a specified password the program switches 
     * to the admin window. But only so if the active window is 
     * WelcomeDA.
     * 
     * If the input does not equal the specified password in the
     * adminPassword variable, or the active window is not Welcome DA,
     * error messages/instructions are written to the terminal.
     */
    public void adminLogIn() {
        Thread watchTerminal = new Thread() {
           public void run() {
               while (true) {   // Always rin
                if (terminalInput.nextInt() == adminPassword) {
                    // Only enable switching to admin if the active 
                    // screen is WelcomeDA.
                    if (WelcomeDA.isVisible() == false) {
                        System.out.println("Skift til Velkomstvindue.");
                    } else {
                        // Set text in menu field
                        TextAdminMenu.setText(
                            "Der kan fortages følgende valg:"
                            +"\n"
                            +"\n1 : Vis dagsstatistik "
                            +"\n2 : Skift billetrulle"
                            +"\n3 : Skift blækpatron"
                            +"\n4 : Udskriv og nulstil salgs statestik"
                            +"\n5 : Sæt ud af drift"
                            +"\n6 : Standard service besøg"
                            +"\n7 : Vis total statestik"
                            +"\n8 : Print test billet"
                            +"\n0 : Log ud"
                        );
                        // Reset input field in admin window
                        InAdminSelection.setText(null);
                        // Switch to admin window
                        switchWindow(WelcomeDA, Admin);
                    }
                } else {
                    // If input dows not equal the password
                    System.out.println("Forkert indput.");
                }
            }
           }
        };
        watchTerminal.start();
    }
    
    /**
     * Starts a thread that updates the time labels. 
     */
    private void startTimeThread() {
        Thread timeLabels = new Thread(){
            public void run() {
                while(true) {
                    Date time = new Date();
                    LabSetup2Time.setText(time.toString().substring(0,19));
                    LabWelcomeDATime.setText(time.toString().substring(0,19));
                    LabCartDATime.setText(time.toString().substring(0,19));
                    LabPayDATime.setText(time.toString().substring(0,19));
                    LabCashDATime.setText(time.toString().substring(0,19));
                    LabOutOfOrderTime.setText(time.toString().substring(0,19));
                    LabCardDATime.setText(time.toString().substring(0,19));
                    LabSMSDATime.setText(time.toString().substring(0,19));
                    LabAdminTime.setText(time.toString().substring(0,19));
                }
            }
        };
        timeLabels.start();
    }
    
    /**
     * Checks on a string if it is an integer.
     * @param s String input to be checked for integers.
     * @return Returns the integer if any, or -1 if no integer found.
     */
    public int isInteger(String s)
    {
        int temp;
        try {
            temp = Integer.parseInt(s);        // Try make s to int
        } catch (NumberFormatException e) {    //catch exception - return error
            return -1;
        }
        if (temp < 0) {                     // invert negatives
            temp *= -1;
        }
        return temp; 
    }
    
    /**
     * For creation of tickets by adding them to an array of tickets, and array
     * of strings, and a Jlist displaying the Strings.
     * @param PricePZ Price per zone - integer.
     * @param TypeDA Name of ticket type in Danish - string.
     * @param TypeENG Name of ticket type in English - string.
     */
    public void addTicketToListSetup2 (int PricePZ, String TypeDA, String TypeENG) {       
        LabSetup2Error.setVisible(false);
        LabSetup2ErrorList.setVisible(false);
        CT.addTicket(PricePZ, TypeDA, TypeENG, startZone);
        InSetup2TypeDA.setText(""); InSetup2TypeENG.setText(""); InSetup2PricePZ.setText("");
        ListContent.add(TypeDA+languageBundle.getString(", ")+TypeENG+languageBundle.getString(", ")+PricePZ+languageBundle.getString(", ")+startZone);
        ListSetup2TicketList.setListData(ListContent.toArray());
        CBWelcomeDAType.addItem(TypeDA);
    }
    
    /**
     * For Setup2 window. Check whether fields are empty (if Strings) or invalid zone price.
     * @param PricePZ -1 if not an int.
     * @param TypeDA  Error if empty.
     * @param TypeENG Error if empty.
     */
    public void checkFieldsSetup2 (int PricePZ, String TypeDA, String TypeENG) {
        if(PricePZ == -1)
        {
            LabSetup2Error.setVisible(true);
            LabSetup2PricePZ.setForeground(Color.red);
        }
        else
        {
            LabSetup2PricePZ.setForeground(Color.black);
        }
        if(TypeDA.equals(""))
        {
            LabSetup2Error.setVisible(true);
            LabSetup2TypeDA.setForeground(Color.red);
        }
        else
        {    
            LabSetup2TypeDA.setForeground(Color.black);
        }
        if (TypeENG.equals(""))
        {
            LabSetup2Error.setVisible(true);
            LabSetup2TypeENG.setForeground(Color.red);
        }
        else
        {
            LabSetup2TypeENG.setForeground(Color.black);
        }
    }
    
    /**
     * Formate a string to be 15 characters long, by inserting spaces.
     * @param item String to be formated.
     * @return The formated string.
     */
    public String fitToListCart(String item) {
        while (item.length() < 15) {
            item += languageBundle.getString(" ");
        }
        return item;
    }
    
    /**
     * Resets the combo boxes in the WelcomeDA window, and set the 
     * error labels blank.
     */
    public void resetSelectionScreen() {
        // Reset Combo boxes
        CBWelcomeDAType.setSelectedIndex(0);
        CBWelcomeDAZone.setSelectedIndex(0);
        CBWelcomeDAAmount.setSelectedIndex(0);
        // Set error labes blank
        LabWelcomeDAAmountError.setText(languageBundle.getString(" "));
        LabWelcomeDAError.setText(languageBundle.getString(" "));
        LabWelcomeDATypeError.setText(languageBundle.getString(" "));
        LabWelcomeDAZonesError.setText(languageBundle.getString(" "));
    }
    
    /**
     * Prints the tickets in the shopping cart and updates statistics. 
     * If error arises during printing a dialog window is opened.
     * @param window The JPanel from which the call is made. Is hidden if 
     * a printer error is encountered.
     */
    public void printTickets(JPanel window) {
        //Print all tickets in the basket
        for (int index=0;index<(SB.getCart().size());index++) {
            if (SB.printTicket(index,language,hardID)== false){      //if printing failed
                // Show dialog box with error message
                JOptionPane.showMessageDialog(this, 
                    languageBundle.getString("FEJL")
                   + languageBundle.getString("DER OPSTOD EN FEJL VED PRINTNING AF EN BILLET.")
                   + languageBundle.getString("KONTAKT TEKNIKER PÅ TLF. XX XX XX XX OG")
                   + languageBundle.getString("HUSK DINE RETURPENGE.")
                   + languageBundle.getString("VI BEKLAGER ULEGLIGHEDEN.")
                   + languageBundle.getString("EMPTYSPACE")
                   + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("TEKNISK FEJL"),
                JOptionPane.ERROR_MESSAGE);
                // Set info label and out-of-order variable
                LabOutOfOrderInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE:")+startZone);
                outOfOrder = true;
                // Go to out-of-order window
                window.setVisible(false);
                OutOfOrder.setVisible(true);
                break;
            } else {
                // Send the ticket to the statistics module
                ST.LogSale(SB.getCart().get(index));
            }
        }
    }
    
    /**
     * Set the visibility of current JPanel to false, and true on the JPanel
     * that needs displaying next. 
     * @param currentWindow The Jpanel from which the method is called, and needs to be hidden.
     * @param nextWindow The JPanel that needs to be displayed next.
     */
    public void switchWindow(JPanel currentWindow, JPanel nextWindow) {
        currentWindow.setVisible(false);
        nextWindow.setVisible(true);
    }
    
    /**
     * Used to check input from admin in service window, and print
     * the appropriate text to the text field. 
     */
    public void adminWriteData() {
        int adminSelection;     // Variable to hold menu selection
        try {       // Make string to int.
            adminSelection = Integer.parseInt(InAdminSelection.getText());
        } catch (NumberFormatException e) {
            return;     // If input is not an integer, do nothing in program.
        }
        // Get data from Serice
        ArrayList<String> data = SV.getData(adminSelection);
        // Clear text area
        TextAdminLog.setText(null);
        //Check String elements in data-list
        for (String element : data) {
            // Check for keyword to set out of order
            switch (element) {
                case "OOO":
                    outOfOrder = true;
                    // Swtich to out-of-order window
                    switchWindow(Admin, OutOfOrder);
                    return;
                case "LO":
                    // Log out/Switch back to welcomming screen
                    switchWindow(Admin, WelcomeDA);
                    return;
                default:
                    // Add text to area
                    TextAdminLog.append(element);
                    TextAdminLog.append(languageBundle.getString("\n"));      // linebreak
            }
        }
    }
    
    //Variables
    private Scanner terminalInput = new Scanner(System.in);
    private boolean adminPasswordCorret = false;
    private int adminPassword = 1337;
    private int hardID;
    private int startZone;// Enable input from terminal
    private static ResourceBundle languageBundle =  ResourceBundle.getBundle("Interface.Bundle");
    private CreatedTickets CT = new CreatedTickets();
    private Statistics ST = new Statistics();
    private ShoppingBasket SB = new ShoppingBasket(CT, ST);
    private Service SV = new Service(ST, CT, SB);
    private Cash CH = null;
    private CreditCard CC = null;
    private paySMS SMS = null;
    private ArrayList<String> ListContent;
    private ArrayList<String> CartContent = new ArrayList<String>();
    private int amountZones = 0;
    private int amountTickets = 0;
    private int typePricePZ = 0;
    private int language = 1;   //1 danish; 2 english
    private boolean outOfOrder = false;
    
    
//---------------------------------SETUP2--------------------------------------
    private void ButSetup2AddMActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButSetup2AddMActionPerformed
        String TypeDA = InSetup2TypeDA.getText().trim();
        String TypeENG = InSetup2TypeENG.getText().trim();
        int PricePZ = this.isInteger(InSetup2PricePZ.getText().trim());
        checkFieldsSetup2(PricePZ, TypeDA, TypeENG);
        LabSetup2ErrorList.setVisible(false);
        if (PricePZ !=-1 && !TypeDA.equals("") && !TypeENG.equals(""))
        {            
            addTicketToListSetup2(PricePZ, TypeDA, TypeENG);
        }
    }//GEN-LAST:event_ButSetup2AddMActionPerformed

    private void ButSetup2SaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButSetup2SaveActionPerformed
        String TypeDA = InSetup2TypeDA.getText().trim();
        String TypeENG = InSetup2TypeENG.getText().trim();
        int PricePZ = this.isInteger(InSetup2PricePZ.getText());
        if (ListSetup2TicketList.getModel().getSize() == 0)
        {
            if (PricePZ !=-1 && !TypeDA.equals("") && !TypeENG.equals(""))
            {
                addTicketToListSetup2(PricePZ, TypeDA, TypeENG);
                switchWindow(Setup2, WelcomeDA);
                LabWelcomeDAInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
                LabAdminInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
                return;
            }
            else
            {
                LabSetup2ErrorList.setVisible(true);
            }
        }
        else
        {
            LabSetup2ErrorList.setVisible(false);
        }    
        checkFieldsSetup2(PricePZ, TypeDA, TypeENG);    
        if (!ListContent.isEmpty())
        {
            if (PricePZ ==-1 && TypeDA.equals("") && TypeENG.equals(""))
            {
                switchWindow(Setup2, WelcomeDA);
            }
            else if (PricePZ !=-1 && !TypeDA.equals("") && !TypeENG.equals(""))
            {
                addTicketToListSetup2(PricePZ, TypeDA, TypeENG);
                switchWindow(Setup2, WelcomeDA);
                LabWelcomeDAInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
            }
            else
            {
                checkFieldsSetup2(PricePZ, TypeDA, TypeENG);
            }
        }
    }//GEN-LAST:event_ButSetup2SaveActionPerformed

    private void ButSetup2BackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButSetup2BackActionPerformed
        //Returning all warning labels to default
        LabSetup2TypeENG.setForeground(Color.black);
        LabSetup2TypeDA.setForeground(Color.black);
        LabSetup2PricePZ.setForeground(Color.black);
        LabSetup2Error.setVisible(false);
        LabSetup2ErrorList.setVisible(false);
        // Get number of items in typeCombobox; -1 to ignore first element
        int CBWItemCount = CBWelcomeDAType.getItemCount()-1;
        // Delete every other item than the first
        for (;CBWItemCount > 0 ; CBWItemCount--) { 
            CBWelcomeDAType.removeItemAt(CBWItemCount); 
        }
        //Clear array of Strings for Jlist
        ListContent.clear();
        // Set Jlist with empty array
        ListSetup2TicketList.setListData(ListContent.toArray());
        // Clear array of created tickets
        CT.ClearArray();
        //Change window to previous window
        switchWindow(Setup2, Setup1); 
    }//GEN-LAST:event_ButSetup2BackActionPerformed

//----------------------------------SETUP1-------------------------------------
    private void ButSetup1NextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButSetup1NextActionPerformed

        hardID = this.isInteger(InSetup1HardwareID.getText());
        startZone = this.isInteger(InSetup1StartZone.getText());
        if(hardID == -1)
        {
            LabSetup1Error.setVisible(true);
            LabSetup1HardwareID.setForeground(Color.red);
        }
        else
        {
            LabSetup1HardwareID.setForeground(Color.black);
        }
        if(startZone == -1)
        {
            LabSetup1Error.setVisible(true);
            LabSetup1StartZone.setForeground(Color.red);
        }
        else
        {
            LabSetup1StartZone.setForeground(Color.black);
        }
        if (hardID !=-1 && startZone !=-1)
        {
            LabSetup1Error.setVisible(false);
            LabSetup2Info.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
            switchWindow(Setup1, Setup2);
        }
    }//GEN-LAST:event_ButSetup1NextActionPerformed

//---------------------------------WelcomeDA-----------------------------------
    private void CBWelcomeDATypeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CBWelcomeDATypeActionPerformed
        //Checking which item is selected and setting price accordingly
        int n = CBWelcomeDAType.getItemCount()-1;   //Begin from index 0
        for (int m = 0; m<n; m++)
        {
            String type = CT.transferTicket(m).getTypeDA();
            if (type.equals(CBWelcomeDAType.getSelectedItem().toString()))
            {
                typePricePZ = CT.transferTicket(m).getPricePerZone();
                LabWelcomeDAPricePZ.setText(languageBundle.getString("PRIS PR. ZONE: ")+typePricePZ+languageBundle.getString(" DKK"));
            }
        }
        if (CBWelcomeDAType.getSelectedItem().toString().equals(languageBundle.getString("VÆLG BILLETTYPE...")))
        {
            LabWelcomeDAError.setText(languageBundle.getString("FEJL - ET ELLER FLERE VALG ER UGYLDIGE"));
            LabWelcomeDATypeError.setText(languageBundle.getString("UGYLDIGT VALG"));
            LabWelcomeDAPricePZ.setVisible(false);
            LabWelcomeDATempPrice.setText(languageBundle.getString("PRIS PR. BILLET: "));
            LabWelcomeDATotalPrice.setText(languageBundle.getString("TOTAL PRIS: "));
        }
        else
        {
            LabWelcomeDAError.setText(languageBundle.getString(" "));
            LabWelcomeDATypeError.setText(languageBundle.getString(" "));
            LabWelcomeDAPricePZ.setVisible(true);
            if (!CBWelcomeDAType.getSelectedItem().toString().equals(languageBundle.getString("VÆLG BILLETTYPE...")) &&
                !CBWelcomeDAZone.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL ZONER...")) &&
                !CBWelcomeDAAmount.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL BILLETTER..."))
            ) {
                LabWelcomeDATotalPrice.setText(languageBundle.getString("TOTAL PRIS: ")+(typePricePZ*amountZones*amountTickets)+languageBundle.getString(" DKK"));
            }
            if (!CBWelcomeDAType.getSelectedItem().toString().equals(languageBundle.getString("VÆLG BILLETTYPE...")) &&
                !CBWelcomeDAZone.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL ZONER...")) 
            ) {
                LabWelcomeDATempPrice.setText(languageBundle.getString("PRIS PR. BILLET: ")+(typePricePZ*amountZones)+languageBundle.getString(" DKK"));
            }
        }
        
    }//GEN-LAST:event_CBWelcomeDATypeActionPerformed

    
    private void ButWelcomeDALangActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButWelcomeDALangActionPerformed
        
                
        if (language==1)
        {
            languageBundle = ResourceBundle.getBundle("Interface.Bundle", new Locale("en", "IE","EURO"));  // set language to English
            language =2;
            int numberOfItems = CBWelcomeDAType.getItemCount();
            CBWelcomeDAType.removeItemAt(0);
            CBWelcomeDAType.addItem(languageBundle.getString("VÆLG BILLETTYPE..."));
            for (int n=1; (numberOfItems > n);n++){
                CBWelcomeDAType.removeItemAt(0);
                CBWelcomeDAType.addItem(CT.transferTicket(n-1).getTypeENG());
                    }
        }
        else 
        {   
            languageBundle = ResourceBundle.getBundle("Interface.Bundle", new Locale("", "",""));          // set default language (Danish)
            language =1;
            int numberOfItems = CBWelcomeDAType.getItemCount();
            CBWelcomeDAType.removeItemAt(0);
            CBWelcomeDAType.addItem(languageBundle.getString("VÆLG BILLETTYPE..."));
            for (int n=1; (numberOfItems > n);n++){
                CBWelcomeDAType.removeItemAt(0);
                CBWelcomeDAType.addItem(CT.transferTicket(n-1).getTypeDA());
            }
                        
        }
         // re-write the content of all text in GUI objects
        LabWelcomeDATitle.setText(languageBundle.getString("VELKOMMEN TIL BLUEJ TRAFIKSELSKAB"));
        LabWelcomeDAInstruct.setText(languageBundle.getString("VÆLG BILLETTYPE, ANTAL ZONER OG ANTAL BILLETTER FRA DROPDOWN MENUERNE HERUNDER OG TRYK NÆSTE."));

        CBWelcomeDAZone.removeItemAt(0);
        CBWelcomeDAZone.addItem(languageBundle.getString("VÆLG ANTAL ZONER..."));
        CBWelcomeDAZone.removeItemAt(0);
        CBWelcomeDAZone.addItem(languageBundle.getString("2-ZONER"));
        CBWelcomeDAZone.removeItemAt(0);        
        CBWelcomeDAZone.addItem(languageBundle.getString("3-ZONER"));
        CBWelcomeDAZone.removeItemAt(0);        
        CBWelcomeDAZone.addItem(languageBundle.getString("4-ZONER"));
        CBWelcomeDAZone.removeItemAt(0);        
        CBWelcomeDAZone.addItem(languageBundle.getString("5-ZONER"));
        CBWelcomeDAZone.removeItemAt(0);        
        CBWelcomeDAZone.addItem(languageBundle.getString("6-ZONER"));
        CBWelcomeDAZone.removeItemAt(0);
        CBWelcomeDAZone.addItem(languageBundle.getString("7-ZONER"));
        CBWelcomeDAZone.removeItemAt(0);
        CBWelcomeDAZone.addItem(languageBundle.getString("ALLE-ZONER"));


        CBWelcomeDAAmount.removeItemAt(0);
        CBWelcomeDAAmount.addItem(languageBundle.getString("VÆLG ANTAL BILLETTER..."));
        CBWelcomeDAAmount.removeItemAt(0);
        CBWelcomeDAAmount.addItem(languageBundle.getString("1 STK"));
        CBWelcomeDAAmount.removeItemAt(0);
        CBWelcomeDAAmount.addItem(languageBundle.getString("2 STK"));
        CBWelcomeDAAmount.removeItemAt(0);
        CBWelcomeDAAmount.addItem(languageBundle.getString("3 STK"));
        CBWelcomeDAAmount.removeItemAt(0);
        CBWelcomeDAAmount.addItem(languageBundle.getString("4 STK"));
        CBWelcomeDAAmount.removeItemAt(0);
        CBWelcomeDAAmount.addItem(languageBundle.getString("5 STK")); 
        LabWelcomeDAError.setText(" ");
        LabWelcomeDATypeError.setText(" ");
        LabWelcomeDAZonesError.setText(" ");
        LabWelcomeDAAmountError.setText(" ");
        
        LabWelcomeDATempPrice.setText(languageBundle.getString("PRIS PR. BILLET: "));
        LabWelcomeDATotalPrice.setText(languageBundle.getString("TOTAL PRIS:"));
        ButWelcomeDANext.setText(languageBundle.getString("NÆSTE"));
        ButWelcomeDALang.setText(languageBundle.getString("[LANGUAGE]"));
        LabCartDATitle.setText(languageBundle.getString("INDKØBSKURV"));
        LabCartDAInstruct.setText(languageBundle.getString("HERUNDER KAN DU SE DINE VALGTE BILLETTER. DU KAN VÆLGE AT SLETTE BILLETTER, TILFØJE FLERE, RYDDE ALT, ELLER GÅ TIL BETALING. "));
        LabCartDATotal.setText(languageBundle.getString("TOTAL PRIS: "));
        ButCartDAClear.setText(languageBundle.getString("RYD ALT"));
        ButCartDARemove.setText(languageBundle.getString("FJERN"));
        ButCartDAAddM.setText(languageBundle.getString("TILFØJ FLERE"));
        ButCartDAPay.setText(languageBundle.getString("GÅ TIL BETALING"));
        LabCartDASTK.setText(languageBundle.getString("STK."));
        LabCartDKType.setText(languageBundle.getString("BILLET TYPE"));
        LabCartDKAmountZones.setText(languageBundle.getString("ANTAL ZONER"));
        LabCartDKPricePerTicket.setText(languageBundle.getString("PRIS PR. STK"));
        LabCartDKSubTotal.setText(languageBundle.getString("SUB-TOTAL"));
        LabPayDATitle.setText(languageBundle.getString("BETALING"));
        LabPayDAInstruct.setText(languageBundle.getString("VÆLG ØNSKET BETALINGSFORM."));
        ButPayDACash.setText(languageBundle.getString("KONTANT"));
        ButPayDACard.setText(languageBundle.getString("BETALINGSKORT"));
        ButPayDASMS.setText(languageBundle.getString("SMS"));
        ButPayDAClear.setText(languageBundle.getString("AFBRYD"));
        ButPayDABack.setText(languageBundle.getString("TILBAGE"));
        LabCashDATitle.setText(languageBundle.getString("KONTANT BETALING"));
        LabCashDAInstruct.setText(languageBundle.getString("INDSÆT BELØBET TIL BETALING I FELTET OG TRYK INDSÆT PENGE. FOR PENGE TILBAGE, TRYK AFBRYD."));
        LabCashDAInserted.setText(languageBundle.getString("PENGE INDSAT: "));
        LabCashDAMissing.setText(languageBundle.getString("MANGLER: "));
        ButCashDAPay.setText(languageBundle.getString("INDSÆT PENGE"));
        ButCashDAClear.setText(languageBundle.getString("AFBRYD"));
        ButCashDABack.setText(languageBundle.getString("TILBAGE"));
        LabCardDATitle.setText(languageBundle.getString("BETALING MED BETALINGSKORT"));
        LabCardDAInstruct.setText(languageBundle.getString("INDSÆT BETALINGSKORT OG INDTAST DIN PIN-KODE I FELTET NEDENUNDER. TRYK HEREFTER PÅ GODKEND."));
        LabCardDATotal.setText(languageBundle.getString("TOTAL PRIS: "));
        ButCardDAConfirm.setText(languageBundle.getString("GODKEND"));
        ButCardDAClear.setText(languageBundle.getString("AFBRYD"));
        ButCardDABack.setText(languageBundle.getString("TILBAGE"));
        LabSMSDATitle.setText(languageBundle.getString("BETALING MED SMS"));
        LabSMSDAInstruct.setText(languageBundle.getString("INDTAST TELEFONNUMMERET SOM REGNINGEN SKAL SENDES TIL OG TRYK HEREFTER PÅ GODKEND. "));
        LabSMSDATotal.setText(languageBundle.getString("TOTAL PRIS: "));
        ButSMSDAConfirm.setText(languageBundle.getString("GODKEND"));
        ButSMSDABack.setText(languageBundle.getString("TILBAGE"));
        ButSMSDAClear.setText(languageBundle.getString("AFBRYD"));
        LabOutOfOrderTitle.setText(languageBundle.getString("UDE AF DRIFT / OUT OF ORDER"));
        LabWelcomeDAInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);


        
    }//GEN-LAST:event_ButWelcomeDALangActionPerformed
   
    
    private void CBWelcomeDAZoneActionPerformed(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_CBWelcomeDAZoneActionPerformed
        if (CBWelcomeDAZone.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL ZONER..."))) {
            LabWelcomeDAError.setText(languageBundle.getString("FEJL - ET ELLER FLERE VALG ER UGYLDIGE"));
            LabWelcomeDAZonesError.setText(languageBundle.getString("UGYLDIGT VALG"));
            LabWelcomeDATempPrice.setText(languageBundle.getString("PRIS PR. BILLET: "));
            LabWelcomeDATotalPrice.setText(languageBundle.getString("TOTAL PRIS: "));
        } else {        
            try {
                amountZones =  Integer.parseInt(CBWelcomeDAZone.getSelectedItem().toString().substring(0, 1));
            } catch (NumberFormatException e) {
                amountZones = 8;
            }
            LabWelcomeDAError.setText(languageBundle.getString(" "));
            LabWelcomeDAZonesError.setText(languageBundle.getString(" "));
            if (!CBWelcomeDAType.getSelectedItem().toString().equals(languageBundle.getString("VÆLG BILLETTYPE...")) &&
                !CBWelcomeDAZone.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL ZONER...")) &&
                !CBWelcomeDAAmount.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL BILLETTER..."))
            ) {
                LabWelcomeDATotalPrice.setText(languageBundle.getString("TOTAL PRIS: ")+(typePricePZ*amountZones*amountTickets)+languageBundle.getString(" DKK"));
            }
            if (!CBWelcomeDAType.getSelectedItem().toString().equals(languageBundle.getString("VÆLG BILLETTYPE...")) &&
                !CBWelcomeDAZone.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL ZONER...")) 
            ) {
                LabWelcomeDATempPrice.setText(languageBundle.getString("PRIS PR. BILLET: ")+(typePricePZ*amountZones)+languageBundle.getString(" DKK"));
            }
        }
        if (!CBWelcomeDAType.getSelectedItem().toString().equals(languageBundle.getString("VÆLG BILLETTYPE...")) && !CBWelcomeDAZone.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL ZONER..."))) {
            LabWelcomeDATempPrice.setText(languageBundle.getString("PRIS PR. BILLET: ")+(typePricePZ*amountZones)+languageBundle.getString(" DKK"));
        }      
    }//GEN-LAST:event_CBWelcomeDAZoneActionPerformed

    private void CBWelcomeDAAmountActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CBWelcomeDAAmountActionPerformed
        if (CBWelcomeDAAmount.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL BILLETTER..."))) {
            LabWelcomeDAError.setText(languageBundle.getString("FEJL - ET ELLER FLERE VALG ER UGYLDIGE"));
            LabWelcomeDAAmountError.setText(languageBundle.getString("UGYLDIGT VALG"));
            LabWelcomeDATotalPrice.setText(languageBundle.getString("TOTAL PRIS: "));
        } else { 
            amountTickets = Integer.parseInt(CBWelcomeDAAmount.getSelectedItem().toString().substring(0, 1));
            LabWelcomeDAError.setText(languageBundle.getString(" "));
            LabWelcomeDAAmountError.setText(languageBundle.getString(" "));
        }
        if (!CBWelcomeDAType.getSelectedItem().toString().equals(languageBundle.getString("VÆLG BILLETTYPE...")) &&
            !CBWelcomeDAZone.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL ZONER...")) &&
            !CBWelcomeDAAmount.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL BILLETTER..."))
        ) {
            LabWelcomeDATotalPrice.setText(languageBundle.getString("TOTAL PRIS: ")+(typePricePZ*amountZones*amountTickets)+languageBundle.getString(" DKK"));
        }

    }//GEN-LAST:event_CBWelcomeDAAmountActionPerformed

    private void ButWelcomeDANextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButWelcomeDANextActionPerformed
        int ticketIndex = 0;      
        int n = CT.getArray().size()+2;  //Array begins from 0; ComboWindo begins from 1 with first being unusable
       
        if (CBWelcomeDAType.getSelectedItem().toString().equals(languageBundle.getString("VÆLG BILLETTYPE...")) ||
            CBWelcomeDAZone.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL ZONER...")) ||
            CBWelcomeDAAmount.getSelectedItem().toString().equals(languageBundle.getString("VÆLG ANTAL BILLETTER..."))
        ) {
                return;
        }
        
        
        // If langauge selected is danihs, compare to danish ticket-types
        if (language == 1) {
            for (int m = 0; m<n; m++)
                {
                    String type = CT.transferTicket(m).getTypeDA();
                    if (type.equals(CBWelcomeDAType.getSelectedItem().toString()))
                    {
                        ticketIndex = m;
                        break;
                    }
                }
        } else if (language == 2) {     // else compare to english ticket-types
            for (int m = 0; m<n; m++)
                {
                    String type = CT.transferTicket(m).getTypeENG();
                    if (type.equals(CBWelcomeDAType.getSelectedItem().toString()))
                    {
                        ticketIndex = m;
                        break;
                    }
                }
        }
        SB.addToCart(ticketIndex, amountZones, CBWelcomeDAAmount.getSelectedIndex());        
        // add selected ticket to soppingcart
        // Choose type dependant on language
        String toListType;
        if (language == 2) {    // english
            toListType = CT.transferTicket(ticketIndex).getTypeENG();
        } else { // danish - default
           toListType = CT.transferTicket(ticketIndex).getTypeDA(); 
        }
        String toListAmount = amountTickets+languageBundle.getString(" STK.");
        String toListZones = amountZones+languageBundle.getString("-ZONER"); 
        // Check if last option is selected
        String temp_s = ""+CBWelcomeDAZone.getSelectedItem();
        int selectedAmountZones = 0;
        if (temp_s.equals(languageBundle.getString("ALLE-ZONER"))) {
            selectedAmountZones = 8;       // All zoner
        } else {    // If not, substring to first char to ignore " stk"
            selectedAmountZones = Integer.parseInt(temp_s.substring(0,1));
        }
        String toListSinglePrice = (CT.transferTicket(ticketIndex).getPricePerZone()*selectedAmountZones)+languageBundle.getString(" DKK");        
        
        // Separate variable to calculate total price
        int subTotalCalc = typePricePZ*amountZones*amountTickets;
        String toListsubTotal = subTotalCalc+languageBundle.getString(" DKK");
        
        //Convert type length to maximum 8 characters
        if(toListType.length() > 9) {
            toListType = toListType.substring(0, 8);
        }
        //Fit to list design with 20 characters in total
        toListAmount = fitToListCart(toListAmount);
        toListType = fitToListCart(toListType);
        toListZones = fitToListCart(toListZones);
        toListSinglePrice = fitToListCart(toListSinglePrice);
        
        // Add selected ticket to an array and display the array on a list on next window
        CartContent.add(toListAmount+toListType+toListZones+toListSinglePrice+toListsubTotal);
        ListCartDATicketList.setListData(CartContent.toArray());
        
        // Show next window
        switchWindow(WelcomeDA, CartDA);
        LabCartDAInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
        LabCartDATotal.setText(languageBundle.getString("TOTAL PRIS: ")+SB.getTotalPrice()+languageBundle.getString(" DKK"));
    }//GEN-LAST:event_ButWelcomeDANextActionPerformed

    private void ButWelcomeDAHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButWelcomeDAHelpActionPerformed
        JOptionPane.showMessageDialog(this, 
            languageBundle.getString("FOR HJÆLP RING XX XX XX XX")
           + languageBundle.getString("FOR TEKNISK ASSISTANCE RING XX XX XX XX")
           + languageBundle.getString("HUSK AT OPLYSE MASKINENS ID, SOM KAN FINDES I ØVRE VENSTRE HJØRNE.")
           + languageBundle.getString("EMPTYSPACE")
           + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("HJÆLP OG TEKNISK SUPPORT"),
        JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_ButWelcomeDAHelpActionPerformed

//---------------------------------CartDA-----------------------------------
    private void ButCartDAPayActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCartDAPayActionPerformed
        // If no items in list, abort method call
        if (CartContent.isEmpty()) {
            return;
        }
        // Text for machine info label
        LabPayDAInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
        // Move to next window
        switchWindow(CartDA, PayDA);
    }//GEN-LAST:event_ButCartDAPayActionPerformed

    private void ButCartDAAddMActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCartDAAddMActionPerformed
        // Reset selectionscreen's inputs
        resetSelectionScreen();
        // Switch to selection window
        switchWindow(CartDA, WelcomeDA);
    }//GEN-LAST:event_ButCartDAAddMActionPerformed

    private void ButCartDARemoveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCartDARemoveActionPerformed
        int TickToDelete = ListCartDATicketList.getSelectedIndex();
        if (TickToDelete == -1) {        // If no item is selected, escape method call.
            return;
        }
        // Delete string from list-array and Ticket from shopping-array
        CartContent.remove(TickToDelete);
        SB.removeTicket(TickToDelete);
        // Remake list after deletion
        ListCartDATicketList.setListData(CartContent.toArray());
        // Recalculate total price
        LabCartDATotal.setText(languageBundle.getString("TOTAL PRIS: ")+SB.getTotalPrice()+languageBundle.getString(" DKK"));
    }//GEN-LAST:event_ButCartDARemoveActionPerformed

    private void ButCartDAClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCartDAClearActionPerformed
        // Clear content of cart-array, list-array, and list
        ListCartDATicketList.removeAll();
        CartContent.clear();
        SB.clearCart();
        // Reset selectionscreen's inputs
        resetSelectionScreen();
        // Show welcome screen
        switchWindow(CartDA, WelcomeDA);
    }//GEN-LAST:event_ButCartDAClearActionPerformed

    private void ButCartDAHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCartDAHelpActionPerformed
        JOptionPane.showMessageDialog(this, 
            languageBundle.getString("FOR HJÆLP RING XX XX XX XX")
           + languageBundle.getString("FOR TEKNISK ASSISTANCE RING XX XX XX XX")
           + languageBundle.getString("HUSK AT OPLYSE MASKINENS ID, SOM KAN FINDES I ØVRE VENSTRE HJØRNE.")
           + languageBundle.getString("EMPTYSPACE")
           + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("HJÆLP OG TEKNISK SUPPORT"),
        JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_ButCartDAHelpActionPerformed

    //---------------------------------PayDA-----------------------------------
    private void ButPayDAHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButPayDAHelpActionPerformed
        JOptionPane.showMessageDialog(this, 
            languageBundle.getString("FOR HJÆLP RING XX XX XX XX")
           + languageBundle.getString("FOR TEKNISK ASSISTANCE RING XX XX XX XX")
           + languageBundle.getString("HUSK AT OPLYSE MASKINENS ID, SOM KAN FINDES I ØVRE VENSTRE HJØRNE.")
           + languageBundle.getString("EMPTYSPACE")
           + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("HJÆLP OG TEKNISK SUPPORT"),
        JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_ButPayDAHelpActionPerformed

    private void ButPayDACashActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButPayDACashActionPerformed
        // New instance of Cash simulation
        CH = new Cash(SB.getTotalPrice());
        // Set labels
        LabCashDAInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
        LabCashDAMissing.setText(languageBundle.getString("MANGLER: ")+SB.getTotalPrice()+languageBundle.getString(" DKK"));
        // Go to next window
        switchWindow(PayDA, CashDA);
    }//GEN-LAST:event_ButPayDACashActionPerformed

    private void ButPayDACardActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButPayDACardActionPerformed
        // Set lables
        LabCardDAInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
        LabCardDATotal.setText(languageBundle.getString("TOTAL PRIS: ")+SB.getTotalPrice()+languageBundle.getString(" DKK"));
        String wrongPin = languageBundle.getString("1337");    // A pin to force simulation of failed pin
        // Make Creditcard instance
        CC = new CreditCard(wrongPin);
        // Move to next window
        switchWindow(PayDA, CardDA);
    }//GEN-LAST:event_ButPayDACardActionPerformed

    private void ButPayDASMSActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButPayDASMSActionPerformed
        // Set lables
        LabSMSDAInfo.setText(languageBundle.getString("MASKIN ID: ")+hardID+languageBundle.getString("  ZONE: ")+startZone);
        LabSMSDATotal.setText(languageBundle.getString("TOTAL PRIS: ")+SB.getTotalPrice()+languageBundle.getString(" DKK"));
        String failedNUM = languageBundle.getString("88888888");  // number to force error-simulation
        // Make SMS instance            
        SMS = new paySMS(failedNUM);
        // Move to next window
        switchWindow(PayDA, SMSDA);
    }//GEN-LAST:event_ButPayDASMSActionPerformed
    
    private void ButPayDABackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButPayDABackActionPerformed
        // Go back to previous window
        switchWindow(PayDA, CartDA);
    }//GEN-LAST:event_ButPayDABackActionPerformed

    private void ButPayDAClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButPayDAClearActionPerformed
        // Clear content of cart-array, list-array, and list
        ListCartDATicketList.removeAll();
        CartContent.clear();
        SB.clearCart();
        // Reset selectionscreen's inputs
        resetSelectionScreen();
        // Go back to welcomeing screen
        switchWindow(PayDA, WelcomeDA);
    }//GEN-LAST:event_ButPayDAClearActionPerformed
    
    //---------------------------------CashDA-----------------------------------
    private void ButCashDAHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCashDAHelpActionPerformed
        JOptionPane.showMessageDialog(this, 
            languageBundle.getString("FOR HJÆLP RING XX XX XX XX")
           + languageBundle.getString("FOR TEKNISK ASSISTANCE RING XX XX XX XX")
           + languageBundle.getString("HUSK AT OPLYSE MASKINENS ID, SOM KAN FINDES I ØVRE VENSTRE HJØRNE.")
           + languageBundle.getString("EMPTYSPACE")
           + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("HJÆLP OG TEKNISK SUPPORT"),
        JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_ButCashDAHelpActionPerformed

    private void ButCashDABackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCashDABackActionPerformed
        // Set Cash pointer to null
        CH = null;
        // Go back to previous window
        switchWindow(CashDA, PayDA);
    }//GEN-LAST:event_ButCashDABackActionPerformed

    private void ButCashDAClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCashDAClearActionPerformed
        // Set Cash pointer to null
        CH = null;
        // Clear content of cart-array, list-array, and list
        ListCartDATicketList.removeAll();
        CartContent.clear();
        SB.clearCart();
        // Reset selectionscreen's inputs
        resetSelectionScreen();
        // Go back to welcomming screen
        switchWindow(CashDA, WelcomeDA);
        //Show dialog box about money returned
        JOptionPane.showMessageDialog(this, 
            languageBundle.getString("DU HAR VALGT AT AFBRYDE KØBET.")
           + languageBundle.getString("SE SLISKEN NEDEN UNDER BETALINGSMODULET")
           + languageBundle.getString("FOR AT MODTAGE DINE INDSATTE PENGE.")
           + languageBundle.getString("FORTSAT GOD DAG.")
           + languageBundle.getString("EMPTYLINE")
           + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("AFBRYD AF KØB"),
        JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_ButCashDAClearActionPerformed

    private void ButCashDAPayActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCashDAPayActionPerformed
        int insertedMoney = Integer.parseInt(InCashDAInserted.getText());
        int missingMoney = CH.MakePaymentInt(insertedMoney);
        
        if (missingMoney < 0) {
            // Show dialog box about ticket printing and money-change
            JOptionPane.showMessageDialog(this, 
                languageBundle.getString("BETALING GENNEMFORT.")
               + languageBundle.getString("HUSK DIN BILLET OG BYTTEPENGE.")
               + languageBundle.getString("FORTSAT GOD DAG.")
               + languageBundle.getString("EMPTYSPACE")
               + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("BETALING GENNEMFORT"),
            JOptionPane.INFORMATION_MESSAGE);
            // Print tickets
            printTickets(CashDA);
        } else if (missingMoney == 0) {
            // Print tickets
            printTickets(CashDA);
            // Show dialog box about ticket printing
            JOptionPane.showMessageDialog(this, 
                languageBundle.getString("BETALING GENNEMFORT.")
               + languageBundle.getString("HUSK DIN BILLET.")
               + languageBundle.getString("FORTSAT GOD DAG.")
               + languageBundle.getString("EMPTYSPACE")
               + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("BETALING GENNEMFORT"),
            JOptionPane.INFORMATION_MESSAGE);
        } else {
            //Update labes
            LabCashDAInserted.setText(languageBundle.getString("PENGE INDSAT: ")+CH.getInsertedMoney()+languageBundle.getString(" DKK"));
            LabCashDAMissing.setText(languageBundle.getString("MANGLER: ")+missingMoney+languageBundle.getString(" DKK"));
            // Return to avoid resetting to welcomming screen
            return;
        }
        //If not out of order
        if (!outOfOrder) {
            // Set Cash pointer to null
            CH = null;
            // Clear content of cart-array, list-array, and list
            ListCartDATicketList.removeAll();
            CartContent.clear();
            SB.clearCart();
            // Reset inserted money label
            LabCashDAInserted.setText(languageBundle.getString("PENGE INDSAT: "));
            // Reset selectionscreen's inputs
            resetSelectionScreen();
            // Go back to welcomeing screen
            switchWindow(CashDA, WelcomeDA);
        }
    }//GEN-LAST:event_ButCashDAPayActionPerformed

    //---------------------------------CardDA-----------------------------------
    private void ButCardDAConfirmActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCardDAConfirmActionPerformed
        // Get text from password field
        String pinString = PwdCardDACode.getText();
        // Make payment
        if (CC.MakePaymentBool(pinString) == false) {   // If simulation failed.
            JOptionPane.showMessageDialog(this, 
                languageBundle.getString("FEJL.")
               + languageBundle.getString("DU HAR INDTASTET EN UGYLDIG PIN.")
               + languageBundle.getString("PRØV IGEN, ELLER AFBRYD.")
               + languageBundle.getString("EMPTYSPACE")
               + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("FORKERT PIN"),
            JOptionPane.ERROR_MESSAGE);
        } else {
            // Print ticket 
            printTickets(CardDA);
            // Show dialog confirming transaction
            JOptionPane.showMessageDialog(this, 
                languageBundle.getString("BETALING GENNEMFORT.")
               + languageBundle.getString("SE SLISKEN NEDEN FOR FOR DIN BILLET OG HUSK DIT KORT.")
               + languageBundle.getString("FORTSAT GOD DAG.")
               + languageBundle.getString("EMPTYSPACE")
               + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("BETALING GENNEMFORT"),
            JOptionPane.INFORMATION_MESSAGE);
 
            //If not out of order
            if (!outOfOrder) {
                // Set Credit Card pointer to null
                CC = null;
                // Clear content of cart-array, list-array, and list
                ListCartDATicketList.removeAll();
                CartContent.clear();
                SB.clearCart();
                // Clear pin field
                PwdCardDACode.setText("");
                // Reset inserted money label
                LabCardDATotal.setText(languageBundle.getString("TOTAL PRIS: "));
                // Reset selectionscreen's inputs
                resetSelectionScreen();
                // Go back to welcomeing screen
                switchWindow(CardDA, WelcomeDA);
            }
        }
    }//GEN-LAST:event_ButCardDAConfirmActionPerformed

    private void ButCardDAHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCardDAHelpActionPerformed
        JOptionPane.showMessageDialog(this, 
            languageBundle.getString("FOR HJÆLP RING XX XX XX XX")
           + languageBundle.getString("FOR TEKNISK ASSISTANCE RING XX XX XX XX")
           + languageBundle.getString("HUSK AT OPLYSE MASKINENS ID, SOM KAN FINDES I ØVRE VENSTRE HJØRNE.")
           + languageBundle.getString("EMPTYSPACE")
           + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("HJÆLP OG TEKNISK SUPPORT"),
        JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_ButCardDAHelpActionPerformed

    private void ButCardDAClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCardDAClearActionPerformed
        // Set Credit Card pointer to null
        CC = null;
        // Clear content of cart-array, list-array, and list
        ListCartDATicketList.removeAll();
        CartContent.clear();
        SB.clearCart();
        // Clear pin field
        PwdCardDACode.setText("");
        // Reset total price label
        LabCardDATotal.setText(languageBundle.getString("TOTAL PRIS: "));
        // Reset selectionscreen's inputs
        resetSelectionScreen();
        // Go back to welcomeing screen
        switchWindow(CardDA, WelcomeDA);
    }//GEN-LAST:event_ButCardDAClearActionPerformed

    private void ButCardDABackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButCardDABackActionPerformed
        // Set credit card pointer to null
        CC = null;
        // Go back to previous window
        switchWindow(CardDA, PayDA);
    }//GEN-LAST:event_ButCardDABackActionPerformed

    //---------------------------------SMSDA-----------------------------------
    private void ButSMSDAHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButSMSDAHelpActionPerformed
        JOptionPane.showMessageDialog(this, 
            languageBundle.getString("FOR HJÆLP RING XX XX XX XX")
           + languageBundle.getString("FOR TEKNISK ASSISTANCE RING XX XX XX XX")
           + languageBundle.getString("HUSK AT OPLYSE MASKINENS ID, SOM KAN FINDES I ØVRE VENSTRE HJØRNE.")
           + languageBundle.getString("EMPTYSPACE")
           + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("HJÆLP OG TEKNISK SUPPORT"),
        JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_ButSMSDAHelpActionPerformed

    private void ButSMSDAConfirmActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButSMSDAConfirmActionPerformed
        // Get String from text field
        String phoneNUM = InSMSDAPhoneNMB.getText();
        // Make payment
        if (SMS.MakePaymentBool(phoneNUM)) {
            // Show dialog refering to a fictional message
            JOptionPane.showMessageDialog(this, 
                languageBundle.getString("VI HAR MODTAGET DIT NUMMER.")
               + languageBundle.getString("EN BESKED VIL BLIVE SENDT TIL NUMMERET INDEN FOR ÉT MINUT.")
               + languageBundle.getString("FØLG VENLIGST INSTRUKTIONERNE I BESKEDEN.")
               + languageBundle.getString("FORTSAT GOD DAG.")
               + languageBundle.getString("EMPTYSPACE")
               + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("NUMMER MODTAGET"),
            JOptionPane.INFORMATION_MESSAGE);
            // For each ticket
            for (int index=0;index<(SB.getCart().size());index++) {
                // Send the ticket to the statistics module
                ST.LogSale(SB.getCart().get(index));
            }
        } else {
            // Show dialog with error
            JOptionPane.showMessageDialog(this, 
                languageBundle.getString("DER SKETE EN FEJL.")
               + languageBundle.getString("DET INDTASTEDE NUMMER KUNNE IKKE FINDES.")
               + languageBundle.getString("PRØV IGEN, GÅ TILBAGE OG VÆLG ANDEN BETALING,")
               + languageBundle.getString("ELLER AFBRYD.")
               + languageBundle.getString("EMPTYSPACE")
               + languageBundle.getString("BLUEJ TRAKFIKSELSKAB"),languageBundle.getString("NUMMER IKKE FUNDET"),
            JOptionPane.ERROR_MESSAGE);
            return;         // To avoid resetting to welcomming screen
        }
        // Set SMS pointer to null
        SMS = null;
        // Clear content of cart-array, list-array, and list
        ListCartDATicketList.removeAll();
        CartContent.clear();
        SB.clearCart();
        // Clear phone number field
        InSMSDAPhoneNMB.setText("");
        // Reset total price label
        LabSMSDATotal.setText(languageBundle.getString("TOTAL PRIS: "));
        // Reset selectionscreen's inputs
        resetSelectionScreen();
        // Go back to welcomeing screen
        switchWindow(SMSDA, WelcomeDA);
    }//GEN-LAST:event_ButSMSDAConfirmActionPerformed

    private void ButSMSDABackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButSMSDABackActionPerformed
        // Set SMS pointer to null
        SMS = null;
        // Go back to previous window
        switchWindow(SMSDA, PayDA);
    }//GEN-LAST:event_ButSMSDABackActionPerformed

    private void ButSMSDAClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButSMSDAClearActionPerformed
        // Set SMS pointer to null
        SMS = null;
        // Clear content of cart-array, list-array, and list
        ListCartDATicketList.removeAll();
        CartContent.clear();
        SB.clearCart();
        // Clear phone number field
        InSMSDAPhoneNMB.setText("");
        // Reset total price label
        LabSMSDATotal.setText(languageBundle.getString("TOTAL PRIS: "));
        // Reset selectionscreen's inputs
        resetSelectionScreen();
        // Go back to welcomeing screen
        switchWindow(SMSDA, WelcomeDA);
    }//GEN-LAST:event_ButSMSDAClearActionPerformed

    private void ButAdminOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButAdminOkActionPerformed
        adminWriteData();
    }//GEN-LAST:event_ButAdminOkActionPerformed

    private void InAdminSelectionKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_InAdminSelectionKeyPressed
        if (evt.getKeyCode() == KeyEvent.VK_ENTER) {  // Check if key pressed
            adminWriteData();                         // is ENTER
        }
    }//GEN-LAST:event_InAdminSelectionKeyPressed
    
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if (languageBundle.getString("NIMBUS").equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(tvmGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(tvmGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(tvmGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(tvmGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new tvmGUI().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel Admin;
    private javax.swing.JButton ButAdminOk;
    private javax.swing.JButton ButAdminSimulation;
    private javax.swing.JButton ButCardDABack;
    private javax.swing.JButton ButCardDAClear;
    private javax.swing.JButton ButCardDAConfirm;
    private javax.swing.JButton ButCardDAHelp;
    private javax.swing.JButton ButCartDAAddM;
    private javax.swing.JButton ButCartDAClear;
    private javax.swing.JButton ButCartDAHelp;
    private javax.swing.JButton ButCartDAPay;
    private javax.swing.JButton ButCartDARemove;
    private javax.swing.JButton ButCashDABack;
    private javax.swing.JButton ButCashDAClear;
    private javax.swing.JButton ButCashDAHelp;
    private javax.swing.JButton ButCashDAPay;
    private javax.swing.JButton ButPayDABack;
    private javax.swing.JButton ButPayDACard;
    private javax.swing.JButton ButPayDACash;
    private javax.swing.JButton ButPayDAClear;
    private javax.swing.JButton ButPayDAHelp;
    private javax.swing.JButton ButPayDASMS;
    private javax.swing.JButton ButSMSDABack;
    private javax.swing.JButton ButSMSDAClear;
    private javax.swing.JButton ButSMSDAConfirm;
    private javax.swing.JButton ButSMSDAHelp;
    private javax.swing.JButton ButSetup1Next;
    private javax.swing.JButton ButSetup2AddM;
    private javax.swing.JButton ButSetup2Back;
    private javax.swing.JButton ButSetup2Save;
    private javax.swing.JButton ButWelcomeDAHelp;
    private javax.swing.JButton ButWelcomeDALang;
    private javax.swing.JButton ButWelcomeDANext;
    private javax.swing.JComboBox CBWelcomeDAAmount;
    private javax.swing.JComboBox CBWelcomeDAType;
    private javax.swing.JComboBox CBWelcomeDAZone;
    private javax.swing.JPanel CardDA;
    private javax.swing.JPanel CartDA;
    private javax.swing.JPanel CashDA;
    private javax.swing.JTextField InAdminSelection;
    private javax.swing.JTextField InCashDAInserted;
    private javax.swing.JTextField InSMSDAPhoneNMB;
    private javax.swing.JTextField InSetup1HardwareID;
    private javax.swing.JTextField InSetup1StartZone;
    private javax.swing.JTextField InSetup2PricePZ;
    private javax.swing.JTextField InSetup2TypeDA;
    private javax.swing.JTextField InSetup2TypeENG;
    private javax.swing.JLabel LabAdminInfo;
    private javax.swing.JLabel LabAdminSelection;
    private javax.swing.JLabel LabAdminTime;
    private javax.swing.JLabel LabAdminTitle;
    private javax.swing.JLabel LabCardDAInfo;
    private javax.swing.JLabel LabCardDAInstruct;
    private javax.swing.JLabel LabCardDATime;
    private javax.swing.JLabel LabCardDATitle;
    private javax.swing.JLabel LabCardDATotal;
    private javax.swing.JLabel LabCartDAInfo;
    private javax.swing.JLabel LabCartDAInstruct;
    private javax.swing.JLabel LabCartDASTK;
    private javax.swing.JLabel LabCartDATime;
    private javax.swing.JLabel LabCartDATitle;
    private javax.swing.JLabel LabCartDATotal;
    private javax.swing.JLabel LabCartDKAmountZones;
    private javax.swing.JLabel LabCartDKPricePerTicket;
    private javax.swing.JLabel LabCartDKSubTotal;
    private javax.swing.JLabel LabCartDKType;
    private javax.swing.JLabel LabCashDAInfo;
    private javax.swing.JLabel LabCashDAInserted;
    private javax.swing.JLabel LabCashDAInstruct;
    private javax.swing.JLabel LabCashDAMissing;
    private javax.swing.JLabel LabCashDATime;
    private javax.swing.JLabel LabCashDATitle;
    private javax.swing.JLabel LabOutOfOrderInfo;
    private javax.swing.JLabel LabOutOfOrderTime;
    private javax.swing.JLabel LabOutOfOrderTitle;
    private javax.swing.JLabel LabPayDAInfo;
    private javax.swing.JLabel LabPayDAInstruct;
    private javax.swing.JLabel LabPayDATime;
    private javax.swing.JLabel LabPayDATitle;
    private javax.swing.JLabel LabSMSDAInfo;
    private javax.swing.JLabel LabSMSDAInstruct;
    private javax.swing.JLabel LabSMSDATime;
    private javax.swing.JLabel LabSMSDATitle;
    private javax.swing.JLabel LabSMSDATotal;
    private javax.swing.JLabel LabSetup1Error;
    private javax.swing.JLabel LabSetup1HardwareID;
    private javax.swing.JLabel LabSetup1StartZone;
    private javax.swing.JLabel LabSetup1Title;
    private javax.swing.JLabel LabSetup2Error;
    private javax.swing.JLabel LabSetup2ErrorList;
    private javax.swing.JLabel LabSetup2Info;
    private javax.swing.JLabel LabSetup2PricePZ;
    private javax.swing.JLabel LabSetup2TicketList;
    private javax.swing.JLabel LabSetup2Time;
    private javax.swing.JLabel LabSetup2Title;
    private javax.swing.JLabel LabSetup2TypeDA;
    private javax.swing.JLabel LabSetup2TypeENG;
    private javax.swing.JLabel LabWelcomeDAAmountError;
    private javax.swing.JLabel LabWelcomeDAError;
    private javax.swing.JLabel LabWelcomeDAInfo;
    private javax.swing.JLabel LabWelcomeDAInstruct;
    private javax.swing.JLabel LabWelcomeDAPricePZ;
    private javax.swing.JLabel LabWelcomeDATempPrice;
    private javax.swing.JLabel LabWelcomeDATime;
    private javax.swing.JLabel LabWelcomeDATitle;
    private javax.swing.JLabel LabWelcomeDATotalPrice;
    private javax.swing.JLabel LabWelcomeDATypeError;
    private javax.swing.JLabel LabWelcomeDAZonesError;
    private javax.swing.JList ListCartDATicketList;
    private javax.swing.JList ListSetup2TicketList;
    private javax.swing.JPanel OutOfOrder;
    private javax.swing.JPanel PayDA;
    private javax.swing.JPasswordField PwdCardDACode;
    private javax.swing.JPanel SMSDA;
    private javax.swing.JPanel Setup1;
    private javax.swing.JPanel Setup2;
    private javax.swing.JTextArea TextAdminLog;
    private javax.swing.JTextArea TextAdminMenu;
    private javax.swing.JPanel WelcomeDA;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    // End of variables declaration//GEN-END:variables
}
